package com.thomsonreuters.ce.edps.model.impl;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Set;
import org.apache.commons.lang.builder.ToStringBuilder;

import com.thomsonreuters.ce.edps.model.IMeasurement;
import com.thomsonreuters.ce.edps.model.IMeasurementType;


/** @author Hibernate CodeGenerator */
public class Measurement implements Serializable, IMeasurement {

    /** identifier field */
    private BigDecimal id;

    /** persistent field */
    private String name;

    /** persistent field */
    private String createBy;

    /** persistent field */
    private Date createDate;

    /** persistent field */
    private String modifyBy;

    /** persistent field */
    private Date modifyDate;

    /** nullable persistent field */
    private String description;

    /** persistent field */
    private IMeasurementType measurementType;

    /** persistent field */
    private Set physicalAssetDatas;

    /** full constructor */
    public Measurement(BigDecimal id, String name, String createBy, Date createDate, String modifyBy, Date modifyDate, String description, IMeasurementType measurementType, Set physicalAssetDatas) {
        this.id = id;
        this.name = name;
        this.createBy = createBy;
        this.createDate = createDate;
        this.modifyBy = modifyBy;
        this.modifyDate = modifyDate;
        this.description = description;
        this.measurementType = measurementType;
        this.physicalAssetDatas = physicalAssetDatas;
    }

    /** default constructor */
    public Measurement() {
    }

    /** minimal constructor */
    public Measurement(BigDecimal id, String name, String createBy, Date createDate, String modifyBy, Date modifyDate, IMeasurementType measurementType, Set physicalAssetDatas) {
        this.id = id;
        this.name = name;
        this.createBy = createBy;
        this.createDate = createDate;
        this.modifyBy = modifyBy;
        this.modifyDate = modifyDate;
        this.measurementType = measurementType;
        this.physicalAssetDatas = physicalAssetDatas;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#getId()
	 */
    @Override
	public BigDecimal getId() {
        return this.id;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#setId(java.math.BigDecimal)
	 */
    @Override
	public void setId(BigDecimal id) {
        this.id = id;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#getName()
	 */
    @Override
	public String getName() {
        return this.name;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#setName(java.lang.String)
	 */
    @Override
	public void setName(String name) {
        this.name = name;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#getCreateBy()
	 */
    @Override
	public String getCreateBy() {
        return this.createBy;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#setCreateBy(java.lang.String)
	 */
    @Override
	public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#getCreateDate()
	 */
    @Override
	public Date getCreateDate() {
        return this.createDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#setCreateDate(java.util.Date)
	 */
    @Override
	public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#getModifyBy()
	 */
    @Override
	public String getModifyBy() {
        return this.modifyBy;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#setModifyBy(java.lang.String)
	 */
    @Override
	public void setModifyBy(String modifyBy) {
        this.modifyBy = modifyBy;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#getModifyDate()
	 */
    @Override
	public Date getModifyDate() {
        return this.modifyDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#setModifyDate(java.util.Date)
	 */
    @Override
	public void setModifyDate(Date modifyDate) {
        this.modifyDate = modifyDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#getDescription()
	 */
    @Override
	public String getDescription() {
        return this.description;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#setDescription(java.lang.String)
	 */
    @Override
	public void setDescription(String description) {
        this.description = description;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#getMeasurementType()
	 */
    @Override
	public IMeasurementType getMeasurementType() {
        return this.measurementType;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#setMeasurementType(com.thomsonreuters.ce.edps.model.impl.MeasurementType)
	 */
    @Override
	public void setMeasurementType(IMeasurementType measurementType) {
        this.measurementType = measurementType;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#getPhysicalAssetDatas()
	 */
    @Override
	public Set getPhysicalAssetDatas() {
        return this.physicalAssetDatas;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#setPhysicalAssetDatas(java.util.Set)
	 */
    @Override
	public void setPhysicalAssetDatas(Set physicalAssetDatas) {
        this.physicalAssetDatas = physicalAssetDatas;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IMeasurement#toString()
	 */
    @Override
	public String toString() {
        return new ToStringBuilder(this)
            .append("id", getId())
            .toString();
    }

}
